#function()

local t=table();
t.params=[];
t.wm_var=function(ename,name,value,path)
{
	local t=table();

	t.name=name;
	t.value=value;
	t.ename=ename;
	t.path=?(path==nil,ename,path);

	this.params.push(t);
};

t.load_cfg=function(model)
{
	for(v in this.params)
	{
		if(typename(v.value)==typename(0))
		{
			model.data[v.name]=cfg.get_integer(v.path,v.value);
		}
		else if(typename(v.value)==typename(""))
		{
			model.data[v.name]=cfg.get_string(v.path,v.value);
		}			
	}
};

t.save_cfg=function(model)
{
	for(v in this.params)
	{
		if(typename(v.value)==typename(0))
		{
			cfg.set_integer(v.path,model.data[v.name]);
		}
		else if(typename(v.value)==typename(""))
		{
			cfg.set_string(v.path,model.data[v.name]);
		}			
	}
};	

t.apply_var=function(model)
{
	local ec = model.evtmgr;
	for(v in this.params)
	{
		ec.wm_var(v.ename,v.name,v.value);
	}
};

return t;
